System and method to request a portion of a media content item

ABSTRACT

A method includes concurrently receiving, at a first communication interface of a media device, a first media content stream and a second media content stream. The method includes sending, from the media device to an output device, decoded first media content processed from the first media content stream. The method includes storing decoded second media content processed from the second media content stream in a buffer. The method includes detecting an error associated with a portion of the second media content stream during receipt of the first media content stream and the second media content stream. The method also includes sending, from a second communication interface of the media device to a media content source, a request for the portion. The second communication interface is distinct from the first communication interface.

PRIORITY CLAIM

This application is a continuation of, and claims priority to, U.S.patent application Ser. No. 14/969,849, filed Dec. 15, 2015, now U.S.Pat. No. 9,847,852, which is hereby incorporated by reference in itsentirety.

FIELD OF THE DISCLOSURE

The present disclosure is generally related to media devices and moreparticularly to requesting one or more portions of a media content itemby a media device.

BACKGROUND

Electronic devices may use networks to communicate media content. Anexample of a network is a satellite network. In a satellite network, asatellite may distribute content to multiple media devices.

Information transmitted to a media device using a satellite network maybe subject to errors caused by noise, interference, and otherconditions. For example, rain and other environmental conditions maycause errors in information transmitted using a satellite network.

To reduce data loss resulting from such conditions, information sentusing a satellite network may be encoded (e.g., to add “redundant”information, such as parity information). The redundant information mayenable correction of errors in some cases (e.g., where a number oferrors is relatively small). In other cases, the redundant informationmay be insufficient to enable correction of errors (e.g., where a numberof errors is relatively large), which may result in data loss.

Data loss may degrade user experience in connection with displayingcontent received via a satellite network. For example, a user mayperceive certain “artifacts” or “missing” frames of a content item, suchas a television program. In some cases, loss of service may result(e.g., one or more television channels may be “missing” during rain orother conditions).

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a particular example of a system.

FIG. 2 is a block diagram illustrating another particular example of asystem.

FIG. 3 is a block diagram illustrating a particular example of a mediadevice that may be included in the system of FIG. 1, the system of FIG.2, or both.

FIG. 4 is a flow diagram that illustrates a particular example of amethod of operation of a media device, such as the media device of FIG.3.

FIG. 5 is a flow diagram that illustrates a particular example of amethod of operation of a content distributor, such as a contentdistributor included in the system of FIG. 1, the system of FIG. 2, orboth.

FIG. 6 is a block diagram of an illustrative example of a computersystem.

DETAILED DESCRIPTION

A media device in accordance with the disclosure may use a terrestrialnetwork to request one or more portions of a media content item that isreceived via a satellite network. For example, the media device may“fill in” one or more packets of the media content item by requestingthe one or more packets using the terrestrial network in response todetecting an error associated with the one or more packets. In anillustrative example, the media device may receive a first media contentitem and a second media content item using the satellite network, andthe media device may “fill in” one or more packets of the second mediacontent item while the first media content item is output from the mediadevice (e.g., to a display device, to one or more speakers, or acombination thereof). In this example, the second media content item maybe available in case a request for the second media content item isreceived at the media device (e.g., in connection with a channel changerequest), which may reduce or eliminate perception of a delay (or a“lag”) by a user of the media device.

In a particular example, a method includes receiving a first mediacontent item at a media device via a first communications interface. Themethod also includes receiving, while outputting the first media contentitem from the media device, at least a first portion of a second mediacontent item at the media device via the first communications interface.The second portion of the second media content item is different thanthe first portion of the second media content item. The method furtherincludes detecting an error associated with a second portion of thesecond media content item and sending a request for the second portionof the second media content item via a second communications interfaceof the media device.

In another particular example, an apparatus includes a firstcommunications interface configured to receive a first media contentitem and at least a first portion of a second media content item duringreceipt of the first media content item at a media device. The apparatusalso includes an error detector configured to detect an error associatedwith a second portion of the second media content item while the firstmedia content item is output from the media device. The apparatusfurther includes a second communications interface configured to send arequest for the second portion of the second media content item.

In another particular example, a computer-readable storage deviceincludes instructions executable by a processor to perform operations.The operations include receiving a first media content item at a mediadevice via a first communications interface. The operations alsoinclude, while outputting the first media content item from the mediadevice, receiving at least a first portion of a second media contentitem at the media device via the first communications interface anddetecting an error associated with a second portion of the second mediacontent item. The operations further include sending, while outputtingthe first media content item from the media device, a request to aserver for the second portion of the second media content item via asecond communications interface of the media device.

Referring to FIG. 1, a particular embodiment of a system is depicted andgenerally designated 100. The system 100 may include a network device,such as a content distributor 102. The system 100 may also include amedia device 118.

In an illustrative example, the content distributor 102 includes a videoserver. Depending on the particular example, the content distributor 102may include a satellite device (e.g., a satellite transmitter), anotherdevice (e.g., a server, such as a video server) that is in communicationwith the satellite device, or both.

In an illustrative example, the media device 118 includes a set-top box(STB). Alternatively or in addition, the media device 118 may include acustomer premises equipment (CPE) device, a television, a monitor, acamera, a microphone, a mobile device (e.g., a cellular telephone), agaming system, a computer (e.g., a laptop computer, a desktop computer,or a tablet computer), another electronic device, or a combinationthereof, as illustrative examples. In an illustrative implementation,the media device 118 includes an STB and a display (e.g., a televisionor a monitor).

The content distributor 102 and the media device 118 may be configuredto communicate using a first network, such as a satellite network 114.In the example of FIG. 1, the content distributor 102 and the mediadevice 118 are also configured to communicate using a second network,such as a terrestrial network 134. The terrestrial network 134 mayinclude an Internet Protocol (IP) network (e.g., the Internet, anEthernet network, or both).

During operation, the media device 118 may receive media content fromthe content distributor 102 via the satellite network 114. For example,the media device 118 may receive a first media content item 106 from thecontent distributor 102 via the satellite network 114. In anillustrative example, the first media content item 106 may includecontent requested by a user 160 of the media device 118. For example,the user 160 may request the first media content item 106 by indicatinga channel (e.g., a television station) or an address (e.g., a uniformresource locator (URL)) at the media device 118. The first media contentitem 106 may include television content, a movie, an image, a video,audio, or a combination thereof, as illustrative examples.

After receiving the first media content item 106, the media device 118may output the first media content item 106. For example, the mediadevice 118 may output the first media content item 106 to a display thatis included in or that is coupled to the media device 118. Alternativelyor in addition, the media device 118 may output the first media contentitem 106 to one or more speakers that are included in or that arecoupled to the media device 118. The media device 118 may output thefirst media content item 106 in response to input from the user 160(e.g., in response to a channel request initiated by the user 160 usinga remote control device or another device).

The media device 118 may receive at least a first portion 112 (e.g., oneor more frames or one or more packets, such as one or more MovingPicture Experts Group (MPEG) packets, as illustrative examples) of asecond media content item 110 while outputting the first media contentitem 106 from the media device 118. To illustrate, the media device 118may receive the first portion 112 of the second media content item 110“in the background” while outputting the first media content item 106from the media device 118. In some cases, one or more portions of thesecond media content item 110 may include one or more errors (e.g., dueto rain or other weather conditions that may affect operation of thesatellite network 114). In this case, one or more portions of the secondmedia content 110 may be unavailable (or “missing”), or the media device118 may be unable to decode one or more portions of the second mediacontent item 110.

In some implementations, the media device 118 is configured to select achannel or an address associated with the second media content item 110in response to determining that the channel or the address is indicatedas being a “favorite” of the user 160. For example, the media device 118may be configured to store a list of frequently accessed channels, alist of frequently accessed addresses, or both, such as by monitoringwhich channels and addresses are requested by the user 160. In thisexample, the media device 118 may be configured to select (e.g., duringreceipt of the first media content item 106) a channel or addressassociated with the second media content item 110 (e.g., by tuning tothe channel or by sending a request to the address) in response to thechannel or address being indicated as a “favorite” of the user 160(e.g., in response to the channel or address being indicated asfrequently accessed).

The media device 118 may receive the first media content item 106 andthe first portion 112 of the second media content item 110 using a firstcommunications interface 122 (e.g., a satellite interface). The firstcommunications interface 122 may include or may be coupled to asatellite receiver, a satellite antenna (e.g., a satellite “dish”), orboth. The first communications interface 122 is configured tocommunicate with (e.g., to receive content items from) the contentdistributor 102 using the satellite network 114. Depending on theparticular implementation, the first media content item 106 and thefirst portion 112 of the second media content item 110 may be receivedby the media device 118 using the first communications interface 122 inconnection with a time division multiple access (TDMA) technique, afrequency division multiple access (FDMA) technique, a code divisionmultiple access (CDMA) technique, another technique, or a combinationthereof.

In some circumstances, one or more portions of a content item may beunavailable (e.g., may be “lost” by the media device 118), or the mediadevice 118 may be unable to decode one or more portions of a contentitem (e.g., the one or more portions may be “corrupted” prior to orafter being received at the media device 118). The media device 118 isconfigured to detect an error associated with a portion of a contentitem (e.g., by determining that the portion is unavailable or that theportion cannot be decoded). For example, the media device 118 mayinclude an error detector 130 configured to detect an error associatedwith a second portion 142 (e.g., one or more frames or one or morepackets, such as one or more Moving Picture Experts Group (MPEG)packets, as illustrative examples) of the second media content item 110.Depending on the particular implementation, the error detector 130 mayinclude hardware (e.g., a decoder device or a processor device),processor-executable instructions stored at a memory, or both.

The error detector 130 may be configured to detect the error bydetermining that the second portion 142 is unavailable or that thesecond portion 142 cannot be decoded. For example, the error detector130 may be configured to detect that the second portion 142 is “missing”from a memory (e.g., a buffer) that stores portions of one or morecontent items at the media device 118. As another example, the errordetector 130 may be configured to detect a decoding error associatedwith the second portion 142. An example of a decoding error is a forwarderror correction (FEC) error that exceeds an error correction capabilityassociated with an error correction coding (ECC) technique used toencode the second portion 142.

In response to detecting an error associated with the second portion142, the media device 118 may send a request 138 for the second portion142 of the second media content item 110 using the terrestrial network134. In an illustrative example, the request 138 corresponds to an MPEGretry request associated with an MPEG audio protocol or an MPEG videoprotocol. In other examples, the request 138 may correspond to anothermessage.

The media device 118 may send the request 138 using a secondcommunications interface 126 (e.g., a wired IP communications interfaceor a wireless IP communications interface) that is configured tocommunicate using the terrestrial network 134 (e.g., by sending andreceiving IP packets using the terrestrial network 134). The secondcommunications interface 126 may include or may be coupled to a modem(e.g., a wired modem or a wireless modem), such as an IP modem that isin communication with the terrestrial network 134.

The request 138 may identify the second portion 142 of the second mediacontent item 110. As an illustrative example, the request 138 mayindicate a timestamp associated with the second portion 142 of thesecond media content item 110.

The content distributor 102 may receive the request 138 via theterrestrial network 134. The content distributor 102 may send the secondportion 142 to the media device 118 using the terrestrial network 134 inresponse to the request 138.

Upon receiving the second portion 142 from the content distributor 102,the media device 118 may combine the second portion 142 with one or moreother portions of the second media content item 110. For example, themedia device 118 may insert the second portion 142 at a buffer thatstores portions of the second media content item 110. In an illustrativeimplementation, portions of the second media content item 110 aretime-synchronized (e.g., are ordered based on timestamps). The mediadevice 118 may insert the second portion 142 at a location of the bufferbased on the timestamp indicated by the second portion 142.

In some cases, the media device 118 may receive a request from the user160 to output the second media content item 110. For example, the mediadevice 118 may receive a channel change request 162 from the user 160indicating a channel associated with the second media content item 110.In this case, the media device 118 may output the second media contentitem 110 (e.g., instead of the first media content item 106). Forexample, the media device 118 may output the second media content item110 (e.g., instead of the first media content item 106) from a buffer ofthe media device 118 to a display that is included in or that is coupledto the media device 118. Alternatively or in addition, the media device118 may output the second media content item 110 (e.g., instead of thefirst media content item 106) from the buffer to one or more speakersthat are included in or that are coupled to the media device 118. Thesecond media content item 110 may include the second portion 142 (or anerror corrected version of the second portion 142) that is received bythe media device 118 using the terrestrial network 134.

In an illustrative implementation, the first media content item 106 andthe second media content item 110 are output at a first rate that isless than a second rate at which the first media content item and thesecond media content item are received via the first communicationsinterface 122. The first rate may compensate for delays associated withpacket loss associated with the satellite network 114. The first ratemay be based on a communications speed associated with the secondcommunications interface 126. For example, the first rate may beselected to enable request and retrieval of the second portion 142 sothat the second portion 142 is available at the media device 118 priorto the second portion 142 being output from the media device 118 (e.g.,so that the user 160 does not perceive a “delay” or a “lag” associatedwith the second media content item 110 while the second portion 142 isrequested and received by the media device 118). In an illustrativeexample, the media device 118 is configured to select the first rate (orto “throttle” the first rate) based on a characteristic associated withthe terrestrial network 134 (e.g., based on a bitrate associated withthe terrestrial network 134, based on a bandwidth associated with theterrestrial network 134, or both).

In some implementations, information may be generated based on requestsfor portions of content items (e.g., based on the request 138) regardingloss of service. For example, the information may indicate portions of amedia content item that are lost (and re-requested) as a result ofweather or other conditions. Alternatively or in addition, theinformation may indicate an amount of time that a customer is withoutservice (e.g., based on a number of portions re-requested), one or moreremedial measures taken to supply service (e.g., retransmission), orboth.

One or more aspects described with reference to FIG. 1 may improveperformance of the media device 118 in connection with reception ofcontent using the satellite network 114. For example, by requesting thesecond portion 142 of the second media content item 110 from the contentdistributor 102, the second media content item 110 may be buffered atthe media device 118 when a request for the second media content item110 (e.g., the channel change request 162) is received at the mediadevice 118, which may reduce or avoid delay associated with requestingone or more portions of the second media content item 110 after therequest is received.

Although certain examples are described with reference to two mediacontent items (the first media content item 106 and the second mediacontent item 110), it should be appreciated that the disclosure isapplicable to more than two media content items. For example, while thefirst media content item 106 is output from the media device 118,multiple content items may be “filled” by the media device 118. Themultiple content items may correspond to a group of favorite channels ofthe user 160 (e.g., frequently accessed channels by the user 160).

Referring to FIG. 2, another particular illustrative example of a systemis depicted and generally designated 200. The system 200 of FIG. 2includes the content distributor 102, the satellite network 114, themedia device 118, and the terrestrial network 134.

The system 200 further includes a third device 204. The third device 204is coupled to the media device 118 via the terrestrial network 134.Depending on the particular implementation, the third device 204 mayinclude a content distributor, a server (e.g., a video server), a mediadevice, another device, or a combination thereof. The third device 204may include one or more hub servers, such as a regional hub server, anational hub server, or both.

During operation, the media device 118 may request one or more portionsof one or more media content items received via the satellite network114. For example, the media device 118 may send the request 138 for thesecond portion 142 of the second media content item 110, as describedwith reference to FIG. 1.

In the example of FIG. 2, the media device 118 may send the request 138to the third device 204 via the terrestrial network 134 in response todetecting an error (e.g., an error associated with the second portion142 of the second media content item 110). The third device 204 maystore one or more media content items, such as the first media contentitem 106 and the second media content item 110.

To illustrate, the third device 204 may correspond to a contentdistributor that distributes content using the terrestrial network 134.In this case, the media device 118 may store a list of one or morecontent distributors, and the media device 118 may send the request 138to the third device 204 in response to detecting the error associatedwith the second portion 142 and in response to accessing the list.

In another example, the third device 204 corresponds to another mediadevice. For example, the third device 204 may include a second mediadevice that is co-located (e.g., located in the same building or in thesame residence) with respect to the media device 118. In this example,the third device 204 may receive one or more of the first media contentitem 106 and the second media content item 110 from a contentdistributor (e.g., the content distributor 102) using the satellitenetwork 114 or using the terrestrial network 134.

The third device 204 may send the second portion 142 of the second mediacontent item 110 to the media device 118 in response to the request 138.Upon receiving the second portion 142 from the third device 204, themedia device 118 may combine the second portion 142 with one or moreother portions of the second media content item 110, as described withreference to FIG. 1. In some cases, the media device 118 may receive arequest from the user 160 to output the second media content item 110.For example, the media device 118 may receive a channel change requestfrom the user 160 (e.g., the channel change request 162) indicating achannel associated with the second media content item 110. In this case,the media device 118 may output the second media content item 110 (e.g.,instead of the first media content item 106).

One or more aspects described with reference to FIG. 2 may improveperformance of the media device 118 in connection with reception ofcontent using the satellite network 114. For example, by requesting thesecond portion 142 of the second media content item 110 from the thirddevice 204, the second media content item 110 may be buffered at themedia device 118 when a request for the second media content item 110(e.g., the channel change request 162) is received at the media device118, which may reduce or avoid delay associated with requesting one ormore portions of the second media content item 110 after the request isreceived.

FIG. 3 illustrates a particular illustrative example of the media device118. In the example of FIG. 3, the media device 118 includes the firstcommunications interface 122, the second communications interface 126,and the error detector 130 of FIGS. 1 and 2. The media device 118 mayalso include a synchronizer 302, an output interface 304 (e.g., a videointerface to a display, an audio interface to one or more speakers, or acombination thereof), and a buffer 324 (e.g., a packet buffer, such asan MPEG packet buffer).

During operation, the media device 118 may receive media content itemsusing the first communications interface 122. For example, the mediadevice 118 may receive portions of the first media content item 106 andthe second media content item 110 from the content distributor 102 ofFIGS. 1 and 2 using the first communications interface 122.

The media device 118 may store portions of the first media content item106 and the second media content item 110 at the buffer 324. Forexample, the buffer 324 may store a first portion 330 of the first mediacontent item 106 and a second portion 334 of the first media contentitem 106. As additional examples, the buffer 324 may store the firstportion 112 of the second media content item 110 and a third portion 354of the second media content item 110.

Portions of the first media content item 106 and the second mediacontent item 110 may include identification information. For example,each portion of the first media content item 106 may include a timestampthat indicates an order of portions of the first media content item 106.To further illustrate, the first portion 330 of the first media contentitem 106 may include a timestamp 332, and the second portion 334 of thefirst media content item 106 may include a timestamp 336. As additionalexamples, the first portion 112 of the second media content item 110 mayinclude a timestamp 350, and the third portion 354 of the second mediacontent item 110 may include a timestamp 356.

The error detector 130 may be configured to detect an error associatedwith the second portion 142 of the second media content item 110. Forexample, in some cases, the second portion 142 may be “missing” from thebuffer 324 (e.g., due to packet loss or interference associated with thesatellite network 114). In this case, the error detector 130 maydetermine that an identification of the second portion 142 (e.g., atimestamp 352 included in the second portion 142) is missing from thebuffer 324. Alternatively or in addition, the error detector 130 may beconfigured to detect a decoding error associated with the second portion142 during a decoding process associated with the second media contentitem 110. In an illustrative example, the error detector 130 detects theerror while the first media content item 106 is output via the outputinterface 304 (e.g., to a display that is included in or that is coupledto the media device 118, to one or more speakers that are included in orthat are coupled to the media device 118, or a combination thereof).

In response to detecting an error associated with the second portion 142of the second media content item 110, the media device 118 may send therequest 138 for the second portion 142 of the second media content item110 via the terrestrial network 134 of FIGS. 1 and 2. For example, themedia device 118 may send the request 138 to the content distributor102, as described with reference to FIG. 1. As another example, themedia device 118 may send the request 138 to the third device 204, asdescribed with reference to FIG. 2.

In response to sending the request 138, the media device 118 may receivethe second portion 142 of the second media content item 110 via theterrestrial network 134 of FIGS. 1 and 2. For example, the media device118 may receive the second portion 142 of the second media content item110 from the content distributor 102, as described with reference toFIG. 1. As another example, the media device 118 may receive the secondportion 142 of the second media content item 110 from the third device204, as described with reference to FIG. 2.

The synchronizer 302 may be configured to insert the second portion 142of the second media content item 110 at a particular location of thebuffer 324. For example, the synchronizer 302 may be configured toinsert the second portion 142 of the second media content item 110 at alocation of the buffer 324 based on the timestamp 352, such as byinserting the second portion 142 “between” the first portion 112 and thethird portion 354 based on the timestamp 350, the timestamp 352, and thetimestamp 356 (e.g., so that the portions 112, 142, and 354 are arrangedin a chronology indicated by the timestamps 350, 352, and 356). In anillustrative example, the synchronizer 302 inserts the second portion142 of the second media content item 110 at a location of the buffer 324while the first media content item 106 is output via the outputinterface 304 (e.g., to a display that is included in or that is coupledto the media device 118, to one or more speakers that are included in orthat are coupled to the media device 118, or a combination thereof).

In some cases, the error detector 130 may detect an error associatedwith a portion of the first media content item 106. To illustrate, theerror detector 130 may detect an error associated with a third portion338 of the first media content item 106, such as by determining that anidentification of the third portion 338 (e.g., a timestamp 340 includedin the third portion 338) is missing from the buffer 324. Alternativelyor in addition, the error detector 130 may be configured to detect adecoding error associated with the third portion 338 during a decodingprocess associated with the first media content item 106. The errordetector 130 may detect the error either while the first media contentitem 106 is output via the output interface 304 (e.g., while the firstportion 330 is output via the output interface 304) or while the secondmedia content item 110 is output via the output interface 304.

Upon detecting an error associated with the third portion 338 of thefirst media content item 106, the media device 118 may send a request360 for the third portion 338 of the first media content item 106. Themedia device 118 may send the request 360 using the secondcommunications interface 126 and the terrestrial network 134 of FIGS. 1and 2. For example, the media device 118 may send the request 360 to thecontent distributor 102, as described with reference to FIG. 1. Asanother example, the media device 118 may send the request 360 to thethird device 204, as described with reference to FIG. 2.

In response to sending the request 360, the media device 118 may receivethe third portion 338 of the first media content item 106 via theterrestrial network 134 of FIGS. 1 and 2. For example, the media device118 may receive the third portion 338 of the first media content item106 from the content distributor 102, as described with reference toFIG. 1. As another example, the media device 118 may receive the thirdportion 338 of the first media content item 106 from the third device204, as described with reference to FIG. 2.

The synchronizer 302 may be configured to insert the third portion 338of the first media content item 106 at a particular location of thebuffer 324. For example, the synchronizer 302 may be configured toinsert the third portion 338 of the first media content item 106 at alocation of the buffer 324 based on the timestamp 340, such as byinserting the third portion 338 after the second portion 334 based onthe timestamps 336, 340 (e.g., so that the portions 330, 334, and 338are arranged in a chronology indicated by the timestamps 332, 336, and340).

In some cases, the media device 118 may provide content to anotherdevice, such as another media device. For example, if the media device118 receives a request from another device (e.g., from the third device204 of FIG. 2 via the terrestrial network 134) for a portion of a mediacontent item (e.g., for the second portion 142, as an illustrativeexample), the media device 118 may send the portion to the other device(e.g., via the terrestrial network 134).

One or more aspects described with reference to FIG. 3 may improveperformance of the media device 118 in connection with reception ofcontent using the satellite network 114 of FIGS. 1 and 2. For example,by requesting the second portion 142 of the second media content item110 using the second communications interface 126, the second mediacontent item 110 may be stored at the buffer 324 when a request for thesecond media content item 110 (e.g., the channel change request 162) isreceived at the media device 118. As another example, by requesting thethird portion 338 of the first media content item 106 using the secondcommunications interface 126, the first media content item 106 may bestored at the buffer 324 when a request for the first media content item106 (e.g., another channel change request) is received at the mediadevice 118. As a result, user-perceivable delay associated withrequesting one or more portions of a media content item may be reducedor avoided (e.g., by requesting a portion of a media content item “inthe background” while another media content item is output from themedia device 118).

Referring to FIG. 4, a particular illustrative example of a method isdepicted and generally designated 400. The method 400 may be performedat a media device, such as at the media device 118 of FIGS. 1-3.

The method 400 includes receiving a first media content item at themedia device via a first communications interface, at 404. In anillustrative example, the first media content item corresponds to thefirst media content item 106, and the first communications interfacecorresponds to the first communications interface 122 (e.g., a satellitecommunications interface).

The method 400 further includes receiving, while outputting the firstmedia content item from the media device, at least a first portion of asecond media content item at the media device via the firstcommunications interface, at 408. For example, the first portion 112 ofthe second media content item 110 may be received at the media device118 while the first media content item 106 is output from the mediadevice 118 (e.g., to a display device, to one or more speakers, or acombination thereof).

The method 400 further includes detecting an error associated with asecond portion of the second media content item, at 412. The secondportion of the second media content item is different than the firstportion of the second media content item. In an illustrative example,detecting the error includes determining that the second portion isunavailable or that the second portion cannot be decoded. For example,the error detector 130 may detect an error associated with the secondportion 142, such as by determining that the second portion 142 ismissing from the buffer 324 or by detecting a decoding error associatedwith the second portion 142.

The method 400 further includes sending a request for the second portionof the second media content item via a second communications interfaceof the media device, at 416. For example, the media device 118 may sendthe request 138 to the content distributor 102 using the secondcommunications interface 126 (e.g., a wired communications interface ora wireless communications interface), as described with reference toFIG. 1. As another example, the media device 118 may send the request138 to the third device 204, as described with reference to FIG. 2.

In an illustrative example, the first media content item 106 isassociated with a first channel that is specified by the user 160, andthe second media content item is associated with a second channel thatis indicated as a favorite channel of the user 160. The method 400 mayoptionally include receiving a channel change request at the mediadevice, where the channel change request indicates the second channel.To illustrate, the media device 118 may receive the channel changerequest 162, and the channel change request 162 may indicate the secondchannel. The method 400 may further include outputting, in response tothe channel change request, the first portion and the second portion ofthe second media content item (e.g., outputting the first portion 112and the second portion 142) and receiving, while outputting the firstportion and the second portion, additional portions of the first mediacontent item and the second media content item via the firstcommunications interface (e.g., by receiving the third portion 338 andthe third portion 354, as illustrative examples).

The method 400 may improve media device operation. For example, themethod 400 may enable the media device 118 to reduce or avoid auser-perceptible “lag” associated with requesting the second portion 142of the second media content item 110.

Referring to FIG. 5, another particular illustrative example of a methodis depicted and generally designated 500. The method 500 may beperformed at a content distributor, such as the content distributor 102.

The method 500 may include sending a first media content item and asecond media content item to a media device via a satellite network, at504. For example, the content distributor 102 may send the first mediacontent item 106 and the second media content item 110 to the mediadevice 118 via the satellite network 114.

The method 500 may further include receiving a request for a particularportion of the second media content item from the media device via aterrestrial network, at 508. For example, the content distributor 102may receive the request 138 for the second portion 142 of the secondmedia content item 110 from the media device 118 via the terrestrialnetwork 134.

The method 500 may further include sending the particular portion of thesecond media content item to the media device via the terrestrialnetwork, at 512. For example, the content distributor 102 may send thesecond portion 142 of the second media content item 110 to the mediadevice 118 via the terrestrial network 134.

The method 500 may enable improved media device operation. For example,the method 500 may enable the media device 118 to reduce or avoid auser-perceptible “lag” associated with requesting the second portion 142of the second media content item 110.

Referring to FIG. 6, an illustrative embodiment of a general computersystem is shown and is designated 600. The computer system 600 includesa set of instructions that can be executed to cause the computer system600 to perform any one or more of the methods or computer basedfunctions disclosed herein. The computer system 600 may operate as astandalone device or may be connected, e.g., using a network, to othercomputer systems or peripheral devices. One or more components of thecomputer system 600 may include or be included within one or more of thecontent distributor 102, the media device 118, or the third device 204.

In a networked deployment, the computer system 600 may operate in thecapacity of a server or as a client user computer in a server-clientuser network environment, or as a peer computer system in a peer-to-peer(or distributed) network environment. The computer system 600 may alsobe implemented as or incorporated into various devices, such as a mobiledevice, a palmtop computer, a laptop computer, a desktop computer, acommunications device, a wireless telephone, a personal computer (PC), atablet PC, a personal digital assistant (PDA), an endpoint device, a webappliance, or any other machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. In a particular embodiment, the computer system 600 maybe implemented using electronic devices that provide video, audio, ordata communication. Further, while a single computer system 600 isillustrated, the term “system” shall also be taken to include anycollection of systems or sub-systems that individually or jointlyexecute a set, or multiple sets, of instructions to perform one or morecomputer functions.

As illustrated in FIG. 6, the computer system 600 may include aprocessor 602, e.g., a central processing unit (CPU), a graphicsprocessing unit (GPU), or both. For example, if the computer system 600corresponds to a media device, the processor 602 may include orcorrespond to a processor of the media device 118. As another example,if the computer system 600 corresponds to a network device (e.g., aserver), the processor 602 may include or correspond to processor(s) ofthe content distributor 102.

Moreover, the computer system 600 may include a main memory 604 and astatic memory 606, which can communicate with each other via a bus 608.For example, if the computer system 600 corresponds to a media device,the main memory 604 may include or correspond to a memory of the mediadevice 118. As another example, if the computer system 600 correspondsto a server, the main memory 604 may include or correspond to a memoryof the content distributor 102. As shown, the computer system 600 mayfurther include a video display unit 610, such as a liquid crystaldisplay (LCD), a light emitting diode (LED) display, a touch screendisplay, a flat panel display, or a solid state display. In anillustrative example, the video display unit 610 is coupled to theoutput interface 304 of FIG. 3 and is configured to display the firstmedia content item 106, the second media content item 110, or both.Additionally, the computer system 600 may include an input device 612,such as a remote control device or a keyboard, and a cursor controldevice 614, such as a mouse. In some embodiments, the input device 612and the cursor control device 614 may be integrated into a singledevice, such as a capacitive touch screen input device. The computersystem 600 may also include a signal generation device 618, such as aspeaker, and a network interface device 620. Some computer systems 600may not include certain components depicted in FIG. 6, such as an inputdevice (e.g., a server may not include an input device).

The computer system 600 may correspond to a mobile device that includesone or more antennae, such as an antenna 640. In other cases, thecomputer system 600 may be a wired device (e.g., a server) that does notinclude an antenna.

In a particular embodiment, as depicted in FIG. 6, the computer system600 may include computer-readable storage 622 in which one or more setsof instructions 624, e.g. software, can be embedded. Thecomputer-readable storage 622 may be random access memory (RAM),read-only memory (ROM), programmable read-only memory (PROM), erasablePROM (EPROM), electrically erasable PROM (EEPROM), register(s),solid-state memory, hard disk, a removable disk, a compact discread-only memory (CD-ROM), other optical disk storage, magnetic diskstorage, magnetic storage devices, or any other storage device that canbe used to store program code in the form of instructions or data andthat can be accessed by a computer and/or a processor. Computer-readablestorage is not a signal. Further, the instructions 624 may embody one ormore of the methods or logic as described herein.

As an illustrative example, the instructions 624 may include errordetector instructions 625 corresponding to the error detector 130 ofFIGS. 1-3. The error detector instructions 625 may be executable by theprocessor 602 to perform one or more functions or methods describedherein, such as one or more of the operations of the method 400 of FIG.4.

In a particular embodiment, the instructions 624 may reside completely,or at least partially, within the main memory 604, the static memory606, and/or within the processor 602 during execution by the computersystem 600. The main memory 604 and the processor 602 also may include acomputer-readable storage device. FIG. 6 also illustrates that thecomputer-readable storage 622 may include data 630.

In an alternative embodiment, dedicated hardware implementations, suchas application specific integrated circuits, programmable logic arraysand other hardware devices, may be constructed to implement one or moreof the methods described herein. Various embodiments may include avariety of electronic and computer systems. One or more embodimentsdescribed herein may implement functions using two or more specificinterconnected hardware modules or devices with related control and datasignals that can be communicated between and through the modules, or asportions of an application-specific integrated circuit (ASIC).Accordingly, the present system encompasses software, firmware, andhardware implementations.

In accordance with various embodiments of the present disclosure, themethods described herein may be implemented by software programsexecutable by a computer system, a processor, or a device, which mayinclude forms of instructions embodied as a state machine implementedwith logic components in an ASIC or a field programmable gate array(FPGA) device. Further, in an exemplary, non-limiting embodiment,implementations may include distributed processing, component/objectdistributed processing, and parallel processing. Alternatively, virtualcomputer system processing may be constructed to implement one or moreof the methods or functionality as described herein. It is further notedthat a computing device, such as a processor, a controller, a statemachine or other suitable device for executing instructions to performoperations may perform such operations directly or indirectly by way ofone or more intermediate devices directed by the computing device.

Computer-readable storage 622 may store instructions 624 so that adevice connected to a network 628 (e.g., the satellite network 114 orthe terrestrial network 134) may communicate voice, video or data usingthe network 628. Although the computer-readable storage 622 is shown tobe a single device, the computer-readable storage 622 may include asingle device or multiple devices, such as a centralized or distributeddatabase, and/or associated caches and servers that store one or moresets of instructions. The computer-readable storage 622 is capable ofstoring a set of instructions for execution by a processor to cause acomputer system to perform any one or more of the methods or operationsdisclosed herein (e.g., one or more operations of the method 400 of FIG.4, one or more operations of the method 500 of FIG. 5, or a combinationthereof).

In a particular non-limiting, exemplary embodiment, thecomputer-readable storage 622 may include a solid-state memory such asembedded memory (or a memory card or other package that houses one ormore non-volatile read-only memories). Further, the computer-readablestorage 622 may be a random access memory or other volatile re-writablememory. Additionally, the computer-readable storage 622 may include amagneto-optical or optical device, such as a disk or tapes or otherstorage device. Accordingly, the disclosure is considered to include anyone or more of a computer-readable storage device and other equivalentsand successor devices, in which data or instructions may be stored.

Although the one or more components and functions may be describedherein as being implemented with reference to particular standards orprotocols, the disclosure is not limited to such standards andprotocols. Such standards are from time-to-time superseded by faster ormore efficient equivalents having essentially the same functions.Wireless standards for device detection, short-range communications, andlong-range communications can be used by the computer system 600 inselected embodiments.

The illustrations of the embodiments described herein are intended toprovide a general understanding of the structure of the variousembodiments. The illustrations are not intended to serve as a completedescription of all of the elements and features of apparatus and systemsthat utilize the structures or methods described herein. Many otherembodiments may be apparent to those of skill in the art upon reviewingthe disclosure. Other embodiments may be utilized and derived from thedisclosure, such that structural and logical substitutions and changesmay be made without departing from the scope of the disclosure. Figuresare also merely representational and may not be drawn to scale.Accordingly, the disclosure and the figures are to be regarded asillustrative rather than restrictive.

Although specific embodiments have been illustrated and describedherein, it should be appreciated that any subsequent arrangementdesigned to achieve the same or similar purpose may be substituted forthe specific embodiments shown. This disclosure is intended to cover anyand all subsequent adaptations or variations of various embodiments.

Less than all of the steps or functions described with respect to theexemplary processes or methods can also be performed in one or more ofthe exemplary embodiments. Further, the use of numerical terms todescribe a device, component, step or function, such as first, second,third, and so forth, is not intended to describe an order unlessexpressly stated. The use of the terms first, second, third and soforth, is generally to distinguish between devices, components, steps orfunctions unless expressly stated otherwise. Additionally, one or moredevices or components described with respect to the exemplaryembodiments can facilitate one or more functions, where the facilitating(e.g., facilitating access or facilitating establishing a connection)can include less than every step needed to perform the function or caninclude all of the steps needed to perform the function.

In one or more embodiments, a processor (which can include a controlleror circuit) has been described that performs various functions. Itshould be understood that the processor can be implemented as multipleprocessors, which can include distributed processors or parallelprocessors in a single machine or multiple machines. The processor canbe used in supporting a virtual processing environment. The virtualprocessing environment may support one or more virtual machinesrepresenting computers, servers, or other computing devices. In suchvirtual machines (e.g., virtual servers), components such asmicroprocessors and storage devices may be virtualized or logicallyrepresented. The processor can include a state machine, an applicationspecific integrated circuit, and/or a programmable gate array (PGA)including a FPGA. In one or more embodiments, when a processor executesinstructions to perform “operations”, this can include the processorperforming the operations directly and/or facilitating, directing, orcooperating with another device or component to perform the operations.

The Abstract is provided with the understanding that it will not be usedto interpret or limit the scope or meaning of the claims. In addition,in the foregoing Detailed Description, various features may be groupedtogether or described in a single embodiment for the purpose ofstreamlining the disclosure. This disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may be directed toless than all of the features of any of the disclosed embodiments. Thus,the following claims are incorporated into the Detailed Description,with each claim standing on its own as defining separately claimedsubject matter.

The above-disclosed subject matter is to be considered illustrative, andnot restrictive, and the appended claims are intended to cover all suchmodifications, enhancements, and other embodiments, which fall withinthe scope of the present disclosure. Thus, to the maximum extent allowedby law, the scope of the present disclosure is to be determined by thebroadest permissible interpretation of the following claims and theirequivalents, and shall not be restricted or limited by the foregoingdetailed description.

What is claimed is:
 1. A method comprising: concurrently receiving, at afirst communication interface of a media device, a first media contentstream and a second media content stream; sending, from the media deviceto an output device, decoded first media content processed from thefirst media content stream; storing, in a buffer, decoded second mediacontent processed from first portions of the second media contentstream, wherein the first portions of the second media content streamcontain no detected errors; detecting a second portion of the secondmedia content stream during receipt of the first media content streamand the second media content stream, wherein the second portion of thesecond media content stream contains a first detected error; andsending, from a second communication interface of the media device to amedia content source, a request for first particular content, the firstparticular content corresponding to the second portion of the secondmedia content stream and the second communication interface is distinctfrom the first communication interface.
 2. The method of claim 1,further comprising: receiving the first particular content from themedia content source; and storing the first particular content in thebuffer.
 3. The method of claim 1, further comprising storing, in thebuffer, the decoded first media content processed from third portions ofthe first media content stream prior to sending the decoded first mediacontent to the output device, wherein the third portions of the firstmedia content stream contain no detected errors.
 4. The method of claim3, further comprising: detecting a fourth portion of the first mediacontent stream, wherein the fourth portion contains a second detectederror; sending, from the second communications interface to the mediacontent source, a second request for second particular content, thesecond particular content corresponding to the fourth portion of thefirst media content stream; receiving the second particular content fromthe media content source; and storing the second particular content inthe buffer.
 5. The method of claim 1, wherein the second portion of thesecond media content stream corresponds to a missing portion of thesecond media content stream.
 6. The method of claim 1, wherein thesecond portion of the second media content stream corresponds to aparticular portion of the second media content stream that cannot bedecoded.
 7. The method of claim 1, wherein the first media contentstream and the second media content stream are received from the mediacontent source.
 8. The method of claim 1, wherein the first mediacontent stream and the second media content stream are received from asecond media content source, the second media content source distinctfrom the media content source.
 9. The method of claim 1, wherein thefirst communication interface comprises a satellite network interface,and wherein the second communication interface comprises a terrestrialnetwork interface.
 10. The method of claim 1, wherein the first mediacontent stream is associated with a first channel, wherein the secondmedia content stream is associated with a second channel, and furthercomprising: receiving a channel change request to change from the firstchannel to the second channel; and in response to the channel changerequest, sending the decoded second media content from the buffer to theoutput device.
 11. An apparatus comprising: a first communicationinterface to concurrently receive a first media content stream and asecond media content stream; an error detector to detect an error in aportion of the second media content stream while first media contentprocessed from the first media content stream is sent to an outputdevice; and a second communication interface to send a request for firstparticular content to a media content source responsive to detection ofthe error by the error detector, the first particular contentcorresponding to the portion of the second media content stream and thesecond communication interface is distinct from the first communicationinterface.
 12. The apparatus of claim 11, wherein the error detector isconfigured to detect a second error associated with a second portion ofthe first media content stream, and wherein the second communicationinterface is configured to send a second request for second particularcontent corresponding to the second portion of the first media contentstream to the media content source responsive to detection of the seconderror by the error detector.
 13. The apparatus of claim 11, furthercomprising a buffer to store the first media content processed from thefirst media content stream and to store second media content processedfrom the second media content stream.
 14. The apparatus of claim 13,further comprising a synchronizer to place the first particular contentin the buffer at a chronologic location of the second media content. 15.The apparatus of claim 11, wherein the error detector determines theerror responsive to the portion being absent or in response to not beingable to decode the portion.
 16. A computer-readable hardware storagedevice storing instructions executable by a processor to cause theprocessor to perform operations, the operations comprising: concurrentlyreceiving, via a first communication interface, a first media contentstream and a second media content stream; causing an output interface tosend decoded first media content processed from the first media contentstream to an output device; storing, in a buffer, decoded second mediacontent processed from first portions of the second media contentstream, wherein the first portions of the second media content streamcontain no detected errors; detecting a second portion of the secondmedia content stream during receipt of the first media content streamand the second media content stream, wherein the second portion of thesecond media content stream contains a first detected error; and causinga second communication interface to send a request for first particularcontent, the first particular content corresponding to the secondportion of the second media content stream and the second communicationinterface is distinct from the first communication interface.
 17. Thecomputer-readable hardware storage device of claim 16, wherein the firstmedia content stream is associated with a selected channel of atelevision distribution system, and wherein the second media contentstream is associated with a second channel of the televisiondistribution system.
 18. The computer-readable hardware storage deviceof claim 17, wherein the second channel is designated as a favoritechannel.
 19. The computer-readable hardware storage device of claim 17,wherein the operations further comprise: receiving a channel changerequest that indicates the second channel; and responsive to the channelchange request, causing the output interface to send the decoded secondmedia content in the buffer to the output device.
 20. Thecomputer-readable hardware storage device of claim 16, wherein theoutput device comprises a speaker, a speaker system, a monitor, atelevision, or combinations thereof.